////二次编译
//#include <iostream>
//using namespace std;
//
//class A {
//public:
//	void func() {
//		cout << "A::func" << endl;
//	}
//};
//
////函数模板
//template<typename T>void foo() {
//	//a;erro:a未声明  标识符必须声明 1)
//	A a;
//	//a.abc();  error:A类没有成员函数abc() 已知类型的调用必须合理 
//	a.func();//ok
//	T t;
//	//t.abc();//第一次编译ok 未知类型的调用假定都合理
//			//第二次编译：error结合类型实参，再次检查调用是否都合理
//	t.func();
//
//}
//
//int main(void) {
//	foo<A>();
//	return 0;
//}